
package Order;

import DTO.Payment;

/**
 * this class defines payment service functionalities
 * payment service classes can implement the payment functionalities.
 * @author Spence
 * @see Order
 */
public interface MakePayment {

    /**
     * this method processes credit card payment
     * @param amount
     * @return  payment details encapsulated in payment data transfer object
     */
    Payment makeCreditCardPayment(double amount);

    /**
     * this method processes cash payment
     * @param amount
     * @return payment details encapsulated in payment data transfer object
     */
    Payment makeCashPayment(double amount);

}
